Touch pull-in gesture

ABSTRACT

Embodiments of a touch pull-in gesture are described. In various embodiments, a touch input is detected that starts at an edge of a touch-screen and progresses as an expanding contact region from the edge of the touch-screen toward approximately a center region of the touch-screen while the touch input remains in contact with the touch-screen. The expanding contact region is determined as a touch pull-in gesture to initiate a display of a user interface component.

BACKGROUND

Portable computer devices are increasingly more common and mobile, suchas laptop computers, tablet PCs, ultra-mobile PCs, as well as othermobile data, messaging, and/or communication devices. When a user holdsa small, portable device such as a tablet PC or ultra-mobile PC that hasan integrated touch-screen, a common interaction technique is to holdthe device with one hand and interact with the touch-screen with fingersof the other hand. For example, the user can tap-touch targets, userinterface elements, or menu items on the touch-screen with a finger.While portable computer devices have become more mobile and convenient,the size of device integrated displays has decreased to accommodate themobility and convenience of the devices. Additionally, there is an everincreasing need to display more data and content, such as variousapplication user interfaces on the device integrated displays. As aresult, pull-down menus, headers, scrollbars, and other similar displayfeatures take up display space that could otherwise be utilized todisplay the data and other content. A technique utilized to conserve thedisplay space is to hide menus, scrollbars, and other similar userinterface features just off-screen and out of the display space.However, it can be difficult for a user to then manipulate variouscontrols and selections to locate and utilize the hidden user interfacefeatures.

SUMMARY

This summary is provided to introduce simplified concepts of a touchpull-in gesture. The simplified concepts are further described below inthe Detailed Description. This summary is not intended to identifyessential features of the claimed subject matter, nor is it intended foruse in determining the scope of the claimed subject matter.

Embodiments of a touch pull-in gesture are described. In variousembodiments, a touch input is detected that starts at an edge of atouch-screen and progresses as an expanding contact region from the edgeof the touch-screen toward approximately a center region of thetouch-screen while the touch input remains in contact with thetouch-screen. The expanding contact region is determined as a touchpull-in gesture to initiate a display of a user interface component. Thetouch pull-in gesture can be recognized as a combination of the touchinput at the edge of the touch-screen and a motion gesture across thetouch-screen. The touch pull-in gesture gives the appearance of draggingthe user interface component onto the touch-screen for display, such asa drop-down menu, a scrollbar, or other user interface component that isdisplayed proximate a location of the touch pull-in gesture on thetouch-screen.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of touch pull-in gesture are described with reference to thefollowing drawings. The same numbers are used throughout the drawings toreference like features and components:

FIG. 1 illustrates an example of a portable device that can implementvarious embodiments of a touch pull-in gesture.

FIG. 2 illustrates an example system in which embodiments of a touchpull-in gesture can be implemented.

FIG. 3 illustrates example method(s) for a touch pull-in gesture inaccordance with one or more embodiments.

FIG. 4 illustrates various components of an example device that canimplement embodiments of a touch pull-in gesture.

DETAILED DESCRIPTION

Embodiments of a touch pull-in gesture provide techniques for a user ofa portable device to motion a pull-in gesture which gives the appearanceof dragging a user interface component onto a touch-screen of the devicefor display. For example, a user can initiate a touch input with afinger just off an edge of the touch-screen and then motion a pull-ingesture across the touch-screen. When the motion of the touch pull-ingesture is initiated by the user, a progression of the motion as thetouch input remains in contact with the touch-screen creates a contactregion on the touch-screen that progressively expands and is detected.The progressive expansion of the contact region on the touch-screen isthen determined or recognized as the touch pull-in gesture thatinitiates a display of a user interface component proximate a locationof the touch pull-in gesture on the touch-screen. A user interfacecomponent can include any type of hidden menu, slide menu, drop-downmenu, scrollbar, and/or any other type of user interface displayableelement.

While features and concepts of the described systems and methods for atouch pull-in gesture can be implemented in any number of differentenvironments, systems, and/or various configurations, embodiments of atouch pull-in gesture are described in the context of the followingexample systems and environments.

FIG. 1 illustrates an example 100 of a portable device 102 that canimplement various embodiments of a touch pull-in gesture. Portabledevice 102 is an example of any of the various types of portable devicesdescribed with reference to FIG. 2 and can also be implemented with anynumber and combination of differing components as described withreference to the example device shown in FIG. 4. Portable device 102includes an integrated touch-screen 104 to display user interfaces, userinterface elements and features, user-selectable controls, variousdisplayable objects, and the like. Portable device 102 also includes atleast a touch-screen driver 106 and an interface application 108 toinitiate display of a user interface 110 and the various user interfaceelements, features, and controls.

In an embodiment of a touch pull-in gesture, a user of portable device102 can initiate a touch input 112 with a finger just off an edge of thetouch-screen 104 and then motion a pull-in gesture 114 in a direction116 across the touch-screen. The motion of the touch pull-in gesture 114is illustrated in the direction 116 as the hand moves from position 118,to position 120, and to position 122 (shown successively in the threeviews). When the motion of the touch pull-in gesture 114 is initiated bythe user, a contact region 124 progressively expands, such asillustrated when the hand moves from the edge of the touch-screen atposition 118 to position 120, and then from position 120 to position122. The progressive expansion of the contact region 124 is thendetermined or recognized as the touch pull-in gesture 114.

The touch-screen driver 106 is implemented to detect the touch input 112that starts at an edge of the touch-screen 104 and progresses as theexpanding contact region 124 from the edge of the touch-screen towardapproximately a center region 126 of the touch-screen while the touchinput 112 remains in contact with the touch-screen. The touch-screendriver 106 can determine, or otherwise recognize that the expandingcontact region 124 represents the touch pull-in gesture 114 andcommunicate gesture data that corresponds to the gesture to theinterface application 108. The interface application 108 can receive thegesture data and then initiate a display of a user interface component.The expanding contact region 124 can be detected by the touch-screendriver 106 as a progression of motion as the touch input 112 remains incontact with the touch-screen. The touch pull-in gesture 114 is thenrecognized as a combination of the touch input 112 at the edge of thetouch-screen and the motion gesture across the touch-screen which givesthe appearance of dragging a user interface component onto thetouch-screen for display.

In various implementations, the interface application 108 can initiate adisplay of a vertical scrollbar 128 as a user interface component whenthe touch pull-in gesture 114 starts at a side edge 130 of thetouch-screen 104. Alternatively or in addition, the interfaceapplication 108 can initiate a display of a drop-down menu (not shown)as a user interface component when the touch pull-in gesture 114 startsat a top edge 132 of the touch-screen 104. Alternatively or in addition,the interface application 108 can initiate a display of a horizontalscrollbar (not shown), or other user interface component, when the touchpull-in gesture 114 starts at a bottom edge 134 of the touch-screen 104.

In the various implementations, the interface application 108 caninitiate a display of the user interface component proximate a locationof the touch pull-in gesture on the touch-screen. The verticalscrollbar, drop-down menu, and horizontal scrollbar are merely examplesfor discussion purposes. In various implementations, any type of userinterface component can be initiated for display at a location proximatea touch pull-in gesture on the touch-screen. A user interface componentcan include any type of hidden menu, slide menu, drop-down menu,scrollbar, image, graphic, text, user-selectable control, menuselection, map element, and/or any other type of user interfacedisplayable feature or item.

The direction in which the contact region 124 expands (e.g., direction116 in this example) correlates to the direction of the touch pull-ingesture 114. In an implementation, the touch-screen driver 106 candetect the touch pull-in gesture 114 from discernable variables, such asa direction variable {right-to-left}; start region position variables{left1, top1, right1, bottom1}; end region position variables {left2,top2, right2, bottom2}; and a motion rate variable {x number of pixelsper second}.

It should be noted that the representation of the touch input 112, theindication of direction 116, and the representations of the contactregion 124 are merely illustrative for discussion purposes. Whenembodiments of a touch pull-in gesture are implemented, the variousrepresentations and indications may or may not appear on thetouch-screen and/or on a user interface.

FIG. 2 illustrates an example system 200 in which various embodiments ofa touch pull-in gesture can be implemented. Example system 200 includesa portable device 202 (e.g., a wired and/or wireless device) that can beany one or combination of a mobile personal computer 204, a personaldigital assistant (PDA), a mobile phone 206 (e.g., cellular, VoIP, WiFi,etc.) that is implemented for data, messaging, and/or voicecommunications, a portable computer device 208 (e.g., a laptop computer,a laptop computer with a touch-screen, etc.), a media device 210 (e.g.,a personal media player, portable media player, etc.), a gaming device,an appliance device, an electronic device, and/or any other type ofportable device that can receive, display, and/or communicate data inany form of audio, video, and/or image data.

Each of the various portable devices can include an integrated displayand/or an integrated touch-screen, as well as selectable input controlsvia which a user can input data and/or selections. For example, mobilepersonal computer 204 includes an integrated touch-screen 212 on which auser interface 214 can be displayed that includes displayable objectsand/or user interface elements 216, such as any type of image, graphic,text, selectable button, user-selectable control, menu selection, mapelement, and/or any other type of user interface displayable feature oritem.

Any of the various portable devices described herein can be implementedwith one or more sensors, processors, communication components, datainputs, memory components, storage media, processing and controlcircuits, and/or a content rendering system. Any of the portable devicescan also be implemented for communication via communication networksthat can include any type of a data network, voice network, broadcastnetwork, an IP-based network, and/or a wireless network that facilitatesdata, messaging, and/or voice communications. A portable device can alsobe implemented with any number and combination of differing componentsas described with reference to the example device shown in FIG. 4. Aportable device may also be associated with a user (i.e., a person)and/or an entity that operates the device such that a portable devicedescribes logical devices that include users, software, and/or acombination of devices.

In this example, portable device 202 includes one or more processors 218(e.g., any of microprocessors, controllers, and the like), acommunication interface 220 for data, messaging, and/or voicecommunications, and data inputs 222 to receive media content 224. Mediacontent (e.g., to include recorded media content) can include any typeof audio, video, and/or image data received from any media content ordata source, such as messages, television media content, music, videoclips, data feeds, interactive games, network-based applications, andany other content. Portable device 202 is implemented with a devicemanager 226 that includes any one or combination of a controlapplication, software application, signal processing and control module,code that is native to the particular device, and/or a hardwareabstraction layer for the particular device.

Portable device 202 includes various media applications 228 that mayincorporate components such as interface applications 230 that can beprocessed or otherwise executed by the processors 218. The mediaapplications 228 can include a music and/or video player, a Web browser,an email application, and the like. Portable device 202 includes arendering system 232 to render user interfaces from the interfaceapplications 230 to generate a display on any of the portable devices.The rendering system 232 is also implemented to receive and render anyform of audio, video, and/or image data received from any media contentand/or data source.

Portable device 202 also includes a touch-screen driver 234 and agestures database 236 that includes various determinable representationsof gestures, inputs, and/or motions that an interface application 230 isconfigured to determine or recognize, such as a touch pull-in gesture.Implementations of an interface application 230 and the touch-screendriver 234 are described with reference to the interface application 108and touch-screen driver 106 shown in FIG. 1, and with reference toembodiments of a touch pull-in gesture as described herein.

Example method 300 is described with reference to FIG. 3 in accordancewith one or more embodiments of a touch pull-in gesture. Generally, anyof the functions, methods, procedures, components, and modules describedherein can be implemented using hardware, software, firmware, fixedlogic circuitry, manual processing, or any combination thereof. Asoftware implementation of a function, method, procedure, component, ormodule represents program code that performs specified tasks whenexecuted on a computing-based processor. The example methods may bedescribed in the general context of computer-executable instructions,which can include software, applications, routines, programs, objects,components, data structures, procedures, modules, functions, and thelike.

The methods may also be practiced in a distributed computing environmentwhere functions are performed by remote processing devices that arelinked through a communication network. In a distributed computingenvironment, computer-executable instructions may be located in bothlocal and remote computer storage media, including memory storagedevices. Further, the features described herein are platform-independentsuch that the techniques may be implemented on a variety of computingplatforms having a variety of processors.

FIG. 3 illustrates example method(s) 300 of a touch pull-in gesture. Theorder in which the method is described is not intended to be construedas a limitation, and any number of the described method blocks can becombined in any order to implement the method, or an alternate method.

At block 302, a touch input is detected that starts at an edge of atouch-screen and progresses as an expanding contact region. For example,the touch-screen driver 106 at portable device 102 detects the touchinput 112 that starts at an edge 130 of the touch-screen 104 andprogresses as the expanding contact region 124 from the edge of thetouch-screen toward approximately a center region 126 of thetouch-screen while the touch input 112 remains in contact with thetouch-screen. The touch-screen driver 106 detects the expanding contactregion 124 as a progression of motion as the touch input 112 remains incontact with the touch-screen, and the touch pull-in gesture 114 is thenrecognized as a combination of the touch input 112 at the edge of thetouch-screen and the motion gesture.

At block 304, the expanding contact region is determined as a touchpull-in gesture to initiate a display of a user interface component. Forexample, the touch-screen driver 106 at portable device 102 determines,or otherwise recognizes, the expanding contact region 124 as the touchpull-in gesture 114. At block 306, gesture data that corresponds to thetouch pull-in gesture is communicated to an interface application. Forexample, the touch-screen driver 106 at portable device 102 communicatesor otherwise broadcasts gesture data that corresponds to the touchpull-in gesture 114 to the interface application 108. The gesture datacan be communicated in the form of a system broadcast message thatincludes various information about the gesture, such as the locationwhere the gesture is initiated, the speed or rate of the gesture, and/orthe touch pressure (e.g., if the system supports a touch pressuremeasurement or value).

At block 308, a display of the user interface component is initiatedproximate a location of the touch pull-in gesture on the touch-screen.For example, the interface application 108 at portable device 102initiates a display of the user interface component proximate thelocation of the touch pull-in gesture 114 on the touch-screen 104 whichgives the appearance of dragging the user interface component onto thetouch-screen for display. Various optional examples of a user interfacecomponent that is initiated for display at block 308 are described withreference to blocks 310-320.

At block 310, a determination is made as to whether the touch pull-ingesture starts at a top edge of the touch-screen. If the touch pull-ingesture starts at the top edge 132 of the touch-screen 104 (i.e., “yes”from block 310), then at block 312, a drop-down menu is initiated fordisplay as the user interface component. If the touch pull-in gesturedoes not start at the top edge of the touch-screen (i.e., “no” fromblock 310), then at block 314, a determination is made as to whether thetouch pull-in gesture starts at a side edge of the touch-screen.

If the touch pull-in gesture starts at the side edge 130 of thetouch-screen 104 (i.e., “yes” from block 314), then at block 316, avertical scrollbar 128 is initiated for display as the user interfacecomponent. If the touch pull-in gesture does not start at the side edgeof the touch-screen (i.e., “no” from block 314), then at block 318, adetermination is made as to whether the touch pull-in gesture starts ata bottom edge of the touch-screen.

If the touch pull-in gesture starts at the bottom edge 134 of thetouch-screen 104 (i.e., “yes” from block 318), then at block 320, ahorizontal scrollbar is initiated for display as the user interfacecomponent. If the touch pull-in gesture does not start at the bottomedge of the touch-screen (i.e., “no” from block 318), then the methodcan continue at block 302 to detect a touch input. The method can alsocontinue at block 302 from blocks 312, 316, and/or 320 to detect a touchinput. The display of a drop-down menu (at block 312), a verticalscrollbar (at block 316), or a horizontal scrollbar (at block 320) aremerely examples of various user interface components. In otherimplementations, any type of user interface component can be initiatedfor display at a location proximate a touch pull-in gesture on thetouch-screen.

FIG. 4 illustrates various components of an example device 400 that canbe implemented as any type of portable and/or computer device asdescribed with reference to FIGS. 1 and 2 to implement embodiments of atouch pull-in gesture. Device 400 includes communication devices 402that enable wired and/or wireless communication of device data 404(e.g., received data, data that is being received, data scheduled forbroadcast, data packets of the data, etc.). The device data 404 or otherdevice content can include configuration settings of the device, mediacontent stored on the device, and/or information associated with a userof the device. Media content stored on device 400 can include any typeof audio, video, and/or image data. Device 400 includes one or more datainputs 406 via which any type of data, media content, and/or inputs canbe received, such as user-selectable inputs, messages, music, televisionmedia content, recorded video content, and any other type of audio,video, and/or image data received from any content and/or data source.

Device 400 also includes communication interfaces 408 that can beimplemented as any one or more of a serial and/or parallel interface, awireless interface, any type of network interface, a modem, and as anyother type of communication interface. The communication interfaces 408provide a connection and/or communication links between device 400 and acommunication network by which other electronic, computing, andcommunication devices communicate data with device 400.

Device 400 includes one or more processors 410 (e.g., any ofmicroprocessors, controllers, and the like) which process variouscomputer-executable instructions to control the operation of device 400and to implement embodiments of a touch pull-in gesture. Alternativelyor in addition, device 400 can be implemented with any one orcombination of hardware, firmware, or fixed logic circuitry that isimplemented in connection with processing and control circuits which aregenerally identified at 412. Although not shown, device 400 can includea system bus or data transfer system that couples the various componentswithin the device. A system bus can include any one or combination ofdifferent bus structures, such as a memory bus or memory controller, aperipheral bus, a universal serial bus, and/or a processor or local busthat utilizes any of a variety of bus architectures.

Device 400 also includes computer-readable media 414, such as one ormore memory components, examples of which include random access memory(RAM), non-volatile memory (e.g., any one or more of a read-only memory(ROM), flash memory, EPROM, EEPROM, etc.), and a disk storage device. Adisk storage device may be implemented as any type of magnetic oroptical storage device, such as a hard disk drive, a recordable and/orrewriteable compact disc (CD), any type of a digital versatile disc(DVD), and the like. Device 400 can also include a mass storage mediadevice 416.

Computer-readable media 414 provides data storage mechanisms to storethe device data 404, as well as various device applications 418 and anyother types of information and/or data related to operational aspects ofdevice 400. For example, an operating system 420 can be maintained as acomputer application with the computer-readable media 414 and executedon processors 410. The device applications 418 can include a devicemanager (e.g., a control application, software application, signalprocessing and control module, code that is native to a particulardevice, a hardware abstraction layer for a particular device, etc.). Thedevice applications 418 also include any system components or modules toimplement embodiments of a touch pull-in gesture. In this example, thedevice applications 418 include an interface application 422 and atouch-screen driver 424 that are shown as software modules and/orcomputer applications. Alternatively or in addition, the interfaceapplication 422 and the touch-screen driver 424 can be implemented ashardware, software, firmware, or any combination thereof.

Device 400 also includes an audio and/or video input-output system 426that provides audio data to an audio system 428 and/or provides videodata to a display system 430. The audio system 428 and/or the displaysystem 430 can include any devices that process, display, and/orotherwise render audio, video, and image data. Video signals and audiosignals can be communicated from device 400 to an audio device and/or toa display device via an RF (radio frequency) link, S-video link,composite video link, component video link, DVI (digital videointerface), analog audio connection, or other similar communicationlink. In an embodiment, the audio system 428 and/or the display system430 are implemented as external components to device 400. Alternatively,the audio system 428 and/or the display system 430 are implemented asintegrated components of example device 400.

Although embodiments of a touch pull-in gesture have been described inlanguage specific to features and/or methods, it is to be understoodthat the subject of the appended claims is not necessarily limited tothe specific features or methods described. Rather, the specificfeatures and methods are disclosed as example implementations of a touchpull-in gesture.

1. A method implemented by a portable computer device, the methodcomprising: detecting a touch input that starts at an edge of atouch-screen and progresses as an expanding contact region from the edgeof the touch-screen toward approximately a center region of thetouch-screen while the touch input remains in contact with thetouch-screen; and determining the expanding contact region as a touchpull-in gesture to initiate a display of a user interface component. 2.A method as recited in claim 1, wherein the touch pull-in gesture isrecognized as a combination of the touch input at the edge of thetouch-screen and a motion gesture across the touch-screen.
 3. A methodas recited in claim 1, further comprising initiating a display of adrop-down menu as the user interface component when the touch pull-ingesture starts at a top edge of the touch-screen.
 4. A method as recitedin claim 1, further comprising initiating a display of a verticalscrollbar as the user interface component when the touch pull-in gesturestarts at a side edge of the touch-screen.
 5. A method as recited inclaim 1, further comprising initiating a display of a hidden menu as theuser interface component proximate a location of the touch pull-ingesture on the touch-screen.
 6. A method as recited in claim 1, whereinthe touch pull-in gesture gives the appearance of dragging the userinterface component onto the touch-screen for display.
 7. A method asrecited in claim 1, wherein the expanding contact region is detected asa progression of motion as the touch input remains in contact with thetouch-screen.
 8. A portable computer device, comprising: at least amemory and a processor configured to implement a touch pull-in gesturethat gives the appearance of dragging a user interface component onto atouch-screen for display; a touch-screen driver configured to detect atouch input that starts at an edge of the touch-screen and progresses asan expanding contact region from the edge of the touch-screen towardapproximately a center region of the touch-screen while the touch inputremains in contact with the touch-screen; and an interface applicationconfigured to receive gesture data that corresponds to the touch pull-ingesture from the touch-screen driver and determine the expanding contactregion as the touch pull-in gesture to initiate a display of the userinterface component.
 9. A portable computer device as recited in claim8, wherein the touch pull-in gesture is recognized as a combination ofthe touch input at the edge of the touch-screen and a motion gestureacross the touch-screen.
 10. A portable computer device as recited inclaim 8, wherein the touch-screen driver is further configured to detectthe expanding contact region as a progression of motion as the touchinput remains in contact with the touch-screen.
 11. A portable computerdevice as recited in claim 8, wherein the interface application isfurther configured to initiate a display of a drop-down menu as the userinterface component when the touch pull-in gesture starts at a top edgeof the touch-screen.
 12. A portable computer device as recited in claim8, wherein the interface application is further configured to initiate adisplay of a vertical scrollbar as the user interface component when thetouch pull-in gesture starts at a side edge of the touch-screen.
 13. Aportable computer device as recited in claim 8, wherein the interfaceapplication is further configured to initiate a display of a hidden menuas the user interface component when the touch pull-in gesture isdetermined.
 14. A portable computer device as recited in claim 8,wherein the interface application is further configured to initiate thedisplay of the user interface component proximate a location of thetouch pull-in gesture on the touch-screen.
 15. Computer-readable mediahaving stored thereon computer-executable instructions that, if executedby a portable computer device, initiate the portable computer device to:detect a touch input that starts at an edge of a touch-screen andprogresses as an expanding contact region from the edge of thetouch-screen and across the touch-screen while the touch input remainsin contact with the touch-screen; determine the expanding contact regionas a touch pull-in gesture; and initiate a display of a user interfacecomponent proximate a location of the touch pull-in gesture on thetouch-screen.
 16. Computer-readable media as recited in claim 15,wherein the computer-executable instructions, if executed, furtherinitiate the portable computer device to recognize the touch pull-ingesture as a combination of the touch input at the edge of thetouch-screen and a motion gesture across the touch-screen. 17.Computer-readable media as recited in claim 15, wherein thecomputer-executable instructions, if executed, further initiate theportable computer device to initiate a display of a drop-down menu asthe user interface component when the touch pull-in gesture starts at atop edge of the touch-screen.
 18. Computer-readable media as recited inclaim 15, wherein the computer-executable instructions, if executed,further initiate the portable computer device to initiate a display of avertical scrollbar as the user interface component when the touchpull-in gesture starts at a side edge of the touch-screen. 19.Computer-readable media as recited in claim 15, wherein thecomputer-executable instructions, if executed, further initiate theportable computer device to initiate a display of a hidden menu as theuser interface component that gives the appearance of dragging thehidden menu onto the touch-screen for display.
 20. Computer-readablemedia as recited in claim 15, wherein the computer-executableinstructions, if executed, further initiate the portable computer deviceto detect the expanding contact region as a progression of motion as thetouch input remains in contact with the touch-screen.